home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
dwnld30b.zip
/
DWNLD.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-07-13
|
15KB
|
815 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Date DATE001
Date DATE002
Date DATE003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer INTEGER023
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String STRING046
String STRING047
String STRING048
String STRING049
String STRING050
String STRING051
String STRING052
String STRING053
String STRING054
String STRING055
String STRING056
String STRING057
String STRING058
String STRING059
String STRING060
String STRING061
String STRING062
String STRING063
String STRING064
;------------------------------------------------------------------------------
INTEGER001 = 0
If (Exist(PPEPath() + PPEName() + LangExt())) Then
STRING002 = PPEPath() + PPEName() + LangExt()
Else
STRING002 = PPEPath() + PPEName() + ".CFG"
INTEGER001 = 1
Endif
If (AnsiOn()) Goto LABEL001
STRING001 = ReadLine(STRING002, 1)
Print STRING001
Goto LABEL014
:LABEL001
WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "Using: DWNLD.PPE", " "
If (PcbNode() == 0) Then
STRING005 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST."
Else
STRING005 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST." + String(PcbNode())
Endif
STRING008 = GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.TMP"
STRING013 = " "
INTEGER013 = 0
INTEGER006 = 0
INTEGER030 = 0
INTEGER009 = 0
INTEGER010 = 0
INTEGER011 = 0
INTEGER023 = 0
STRING003 = 1
INTEGER016 = 10000
INTEGER017 = 100
INTEGER014 = 16
INTEGER015 = 2
INTEGER003 = 1
STRING029 = "@X0F"
STRING027 = "@X0F"
STRING030 = "@X0F"
STRING031 = "@X0F"
STRING032 = "@X0F"
STRING033 = "@X0F"
STRING034 = "@X0F"
If (INTEGER001 == 0) Then
STRING026 = NoChar()
STRING025 = YesChar()
Else
STRING025 = "Y"
STRING026 = "N"
Endif
DATE002 = FileInf(STRING005, 2)
INTEGER018 = Month(FileInf(STRING005, 2)) * INTEGER017 + Day(FileInf(STRING005, 2))
STRING009 = FileInf(STRING005, 3)
INTEGER019 = Hour(STRING009) * INTEGER016 + Min(STRING009) * INTEGER017 + Sec(STRING009)
STRING001 = Trim(STRING001, Chr(32))
FOpen 2, STRING002, 0, 0
FGet 2, STRING019
FGet 2, STRING019
STRING019 = Upper(STRING019)
If (STRING019 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING035
If (Left(STRING035, 2) == "@X") STRING029 = Left(STRING035, 4)
Else
INTEGER014 = INTEGER014 + 4
Endif
FGet 2, STRING041
If (Left(STRING041, 2) == "@X") STRING027 = Left(STRING041, 4)
FGet 2, STRING020
STRING020 = Upper(STRING020)
If (STRING020 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING036
If (Left(STRING036, 2) == "@X") STRING030 = Left(STRING036, 4)
STRING047 = (10 - Len(StripAtx(STRING036))) / 2
Else
INTEGER014 = INTEGER014 + 10
Endif
FGet 2, STRING021
STRING021 = Upper(STRING021)
If (STRING021 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING037
If (Left(STRING037, 2) == "@X") STRING031 = Left(STRING037, 4)
STRING048 = (8 - Len(StripAtx(STRING037))) / 2
Else
INTEGER014 = INTEGER014 + 8
Endif
FGet 2, STRING022
STRING022 = Upper(STRING022)
If (STRING022 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING038
If (Left(STRING038, 2) == "@X") STRING032 = Left(STRING038, 4)
STRING049 = (15 - Len(StripAtx(STRING038))) / 2
Else
INTEGER014 = INTEGER014 + 15
Endif
FGet 2, STRING023
STRING023 = Upper(STRING023)
If (STRING023 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING039
If (Left(STRING039, 2) == "@X") STRING033 = Left(STRING039, 4)
STRING050 = (4 - Len(StripAtx(STRING039))) / 2
Else
INTEGER014 = INTEGER014 + 4
Endif
FGet 2, STRING024
STRING024 = Upper(STRING024)
If (STRING024 == STRING025) Then
INTEGER015 = INTEGER015 + 1
FGet 2, STRING040
If (Left(STRING040, 2) == "@X") STRING034 = Left(STRING040, 4)
STRING051 = (6 - Len(StripAtx(STRING040))) / 2
Else
INTEGER014 = INTEGER014 + 7
Endif
INTEGER014 = INTEGER014 / INTEGER015
STRING018 = Left(STRING013, INTEGER014)
FGet 2, STRING042
FGet 2, STRING043
FGet 2, STRING044
FGet 2, STRING015
FGet 2, STRING016
FGet 2, STRING017
FGet 2, STRING011
FGet 2, STRING012
FGet 2, STRING028
FGet 2, STRING056
FGet 2, STRING060
FGet 2, STRING062
FGet 2, STRING061
FGet 2, STRING063
FGet 2, STRING014
FGet 2, STRING058
FGet 2, STRING059
FClose 2
If (Exist(STRING008)) Then
DATE003 = FileInf(STRING008, 2)
INTEGER020 = Month(DATE003) * INTEGER017 + Day(DATE003)
If (INTEGER020 < INTEGER018) Goto LABEL002
STRING010 = FileInf(STRING008, 3)
INTEGER021 = Hour(STRING010) * INTEGER016 + Min(STRING010) * INTEGER017 + Sec(STRING010)
If (INTEGER021 < INTEGER019) Goto LABEL002
FOpen 2, STRING008, 0, 0
FGet 2, INTEGER009
FClose 2
Else
Goto LABEL002
Endif
If (INTEGER009 > FlagCnt()) Then
Delete STRING008
Else
If (INTEGER009 == FlagCnt()) Wait
Endif
:LABEL002
INTEGER009 = 0
FOpen 2, STRING008, 1, 0
FPut 2, FlagCnt()
FClose 2
INTEGER025 = FlagCnt()
FOpen 1, STRING005, 2, 0
FDefIn 1
:LABEL003
Color 15
INTEGER030 = 0
AnsiPos 1, 5
STRING001 = ScrText(3, 18, 1, 0)
If (STRING001 == "└") Then
INTEGER022 = 1
AnsiPos 1, 5
Goto LABEL004
Else
INTEGER022 = 0
Endif
If (GrafMode() == "R") Then
PrintLn ""
PrintLn "!|1K|*"
Endif
PrintLn "@CLS@@POFF@" + STRING015 + " ┌──────────────────────────────────────────────────────────────────────────┐"
STRING001 = StripAtx(STRING011)
PrintLn " │" + Left(STRING013, 37 - Len(STRING001) / 2) + STRING011 + Right(STRING013, 37 - Len(STRING001) / 2) + STRING015 + "│"
Print " │" + STRING016
If (STRING019 == STRING025) Print STRING018 + STRING029 + STRING035
Print STRING018 + Left(STRING013, (12 - Len(StripAtx(STRING041))) / 2) + STRING027 + STRING041 + Left(STRING013, (12 - Len(StripAtx(STRING041))) / 2) + STRING018
If (STRING020 == STRING025) Print Left(STRING013, STRING047) + STRING030 + STRING036 + Left(STRING013, 10 - STRING047 - Len(StripAtx(STRING036))) + STRING018
If (STRING021 == STRING025) Print Left(STRING013, STRING048) + STRING031 + STRING037 + Left(STRING013, 8 - STRING048 - Len(StripAtx(STRING037))) + STRING018
If (STRING022 == STRING025) Print Left(STRING013, STRING049) + STRING032 + STRING038 + Left(STRING013, 15 - STRING049 - Len(StripAtx(STRING038))) + STRING018
If (STRING023 == STRING025) Print Left(STRING013, STRING050) + STRING033 + STRING039 + Left(STRING013, 4 - STRING050 - Len(StripAtx(STRING039))) + STRING018
If (STRING024 == STRING025) Print Left(STRING013, STRING051) + STRING034 + STRING040
AnsiPos 78, 3
PrintLn STRING015 + "│"
Print " │" + STRING017
If (STRING019 == STRING025) Print Left(STRING013, INTEGER014 - 1) + "────"
Print STRING018 + "────────────" + STRING018
If (STRING020 == STRING025) Print "──────────" + STRING018
If (STRING021 == STRING025) Print "────────" + STRING018
If (STRING022 == STRING025) Print "───────────────" + STRING018
If (STRING023 == STRING025) Print "────" + STRING018
If (STRING024 == STRING025) Print "───────"
AnsiPos 78, 4
PrintLn STRING015 + "│"
:LABEL004
FSeek 1, 0, 0
INTEGER002 = INTEGER025 + 1
If (INTEGER002 > 10) Then
For INTEGER003 = 1 To INTEGER002 - 10
FSeek 1, 83, 1
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER011 = 65536 * Asc(STRING001)
INTEGER006 = INTEGER006 + INTEGER009 + INTEGER010 + INTEGER011
FSeek 1, 43, 1
Next
Else
INTEGER002 = 10
Endif
STRING003 = INTEGER002 - 9
For INTEGER003 = 1 To INTEGER002
Gosub LABEL026
If (INTEGER030 == 1) Break
Next
INTEGER013 = STRING003 - 1
For INTEGER003 = INTEGER003 To 10
Gosub LABEL029
Next
PrintLn " │ │"
STRING001 = StripAtx(STRING012)
PrintLn " │" + Left(STRING013, 37 - Len(STRING001) / 2) + STRING012 + Right(STRING013, 37 - Len(STRING001) / 2) + "│"
Print " │ " + STRING044 + ": @FFILES:3@" + Left(STRING013, 12 - Len(StripAtx(STRING044)))
If (STRING020 == STRING025) Print Left(STRING013, 10 - Len(StripAtx(STRING036))) + STRING036 + ": @FBYTES:12@"
If (STRING022 == STRING025) Then
Print Left(STRING013, 9 - Len(StripAtx(STRING038))) + STRING038 + ": "
INTEGER004 = INTEGER006 / 60
INTEGER005 = INTEGER006 - INTEGER004 * 60
Print String(INTEGER004) + Left(STRING013, 4 - Len(StripAtx(STRING042))) + STRING042 + " " + STRING032 + String(INTEGER005) + Left(STRING013, 4 - Len(StripAtx(STRING043))) + STRING043 + " "
Endif
AnsiPos 78, 17
PrintLn STRING015 + "│"
If (INTEGER022) Then
PrintLn
Else
PrintLn " └──────────────────────────────────────────────────────────────────────────┘"
Endif
:LABEL005
PrintLn Left(STRING013, (79 - Len(StripAtx(STRING028))) / 2) + STRING028 + Left(STRING013, (79 - Len(StripAtx(STRING028))) / 2)
ClrEol
PrintLn
ClrEol
PrintLn
ClrEol
If (INTEGER013 > 9) INTEGER013 = 9
If (STRING019 == STRING025) INTEGER023 = 3 + INTEGER014
AnsiPos 4 + INTEGER014 + INTEGER023, 5 + INTEGER013
Print " "
AnsiPos 4 + INTEGER014 + INTEGER023, 5 + INTEGER013
STRING004 = ""
STRING052 = ""
INTEGER026 = 0
While (STRING052 <> Chr(13)) Do
INTEGER024 = INTEGER025
STRING052 = Inkey()
If (STRING052 == "") Continue
If (STRING052 == Chr(13)) Break
If ((INTEGER026 == 12) && (STRING052 <> Chr(8))) Continue
If ((STRING052 == "RIGHT") || (STRING052 == "UP")) Then
AnsiPos 1, 19
Print Left(STRING013, (78 - Len(StripAtx(STRING056))) / 2) + STRING056 + Left(STRING013, (78 - Len(StripAtx(STRING056))) / 2)
AnsiPos 4 + INTEGER014 + INTEGER023, 5 + INTEGER013
:LABEL006
INTEGER027 = GetX()
INTEGER028 = GetY() - 1
If (INTEGER028 < 5) Then
AnsiPos 1, INTEGER028 + 1
INTEGER028 = 5
If (INTEGER024 > 0) Then
FSeek 1, 0, 0
For INTEGER003 = 1 To INTEGER024 - 1
FSeek 1, 129, 1
Next
STRING003 = INTEGER024
For INTEGER003 = 1 To 10
Gosub LABEL026
Next
Goto LABEL007
Endif
Inc INTEGER024
Endif
:LABEL007
Dec INTEGER024
AnsiPos INTEGER027, INTEGER028
Color 112
STRING052 = ScrText(INTEGER027, INTEGER028, 12, 0)
STRING052 = Trim(STRING052, Chr(32))
Print Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
:LABEL008
STRING057 = Inkey()
If (Upper(STRING057) == STRING061) Goto LABEL024
If (Upper(STRING057) == STRING062) Goto LABEL015
If (Upper(STRING057) == STRING060) Goto LABEL019
If (Upper(STRING057) == STRING063) Goto LABEL003
If (((STRING057 == "DOWN") || (STRING057 == "LEFT")) && (INTEGER028 < 4 + INTEGER013)) Then
Print STRING027 + Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
Goto LABEL009
Endif
If ((STRING057 == "RIGHT") || (STRING057 == "UP")) Then
Print STRING027 + Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
Goto LABEL006
Endif
Goto LABEL008
Endif
If ((STRING052 == "LEFT") || (STRING052 == "DOWN")) Then
AnsiPos 1, 19
Print Left(STRING013, (78 - Len(StripAtx(STRING056))) / 2) + STRING056 + Left(STRING013, (78 - Len(StripAtx(STRING056))) / 2)
AnsiPos 4 + INTEGER014 + INTEGER023, 5 + INTEGER013
:LABEL009
INTEGER027 = GetX()
INTEGER028 = GetY() + 1
Inc INTEGER024
If (INTEGER028 > 5 + INTEGER013) Then
INTEGER028 = INTEGER028 - 1
If ((INTEGER024 > 0) && (INTEGER024 < INTEGER025)) Then
AnsiPos 1, 5
FSeek 1, 0, 0
For INTEGER003 = 1 To INTEGER024 - 9
FSeek 1, 129, 1
Next
STRING003 = INTEGER024 - 8
For INTEGER003 = 1 To 10
Gosub LABEL026
Next
Goto LABEL010
Endif
Dec INTEGER024
Endif
:LABEL010
AnsiPos INTEGER027, INTEGER028
STRING052 = ScrText(INTEGER027, INTEGER028, 12, 0)
STRING052 = Trim(STRING052, Chr(32))
Color 112
Print Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
:LABEL011
STRING045 = Inkey()
If (Upper(STRING045) == STRING061) Goto LABEL024
If (Upper(STRING045) == STRING062) Goto LABEL015
If (Upper(STRING045) == STRING060) Goto LABEL019
If (Upper(STRING045) == STRING063) Goto LABEL003
If ((STRING045 == "RIGHT") || (STRING045 == "UP")) Then
Print STRING027 + Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
Goto LABEL006
Endif
If ((STRING045 == "DOWN") || (STRING045 == "LEFT")) Then
Print STRING027 + Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos INTEGER027, INTEGER028
Goto LABEL009
Endif
Goto LABEL011
Endif
If (STRING052 == Chr(8)) Then
Dec INTEGER026
If (INTEGER026 < 0) Then
INTEGER026 = 0
Continue
Endif
STRING004 = Left(STRING004, INTEGER026)
Print STRING052 + " " + STRING052
Continue
Endif
Inc INTEGER026
STRING004 = STRING004 + STRING052
Print STRING052
:LABEL012
EndWhile
AnsiPos 1, 19
ClrEol
STRING004 = Trim(STRING004, Chr(32))
If (Len(STRING004) == 0) STRING004 = Chr(13)
:LABEL013
FClose 1
KbdStuff STRING004
:LABEL014
End
:LABEL015
Color 15
INTEGER027 = GetX()
INTEGER028 = GetY()
STRING052 = ScrText(INTEGER027, INTEGER028, 12, 0)
STRING052 = Trim(STRING052, Chr(32))
AnsiPos 1, 19
Print Left(STRING013, (78 - Len(StripAtx(STRING014))) / 2) + STRING014 + Left(STRING013, (78 - Len(StripAtx(STRING014))) / 2)
FSeek 1, 0, 0
For INTEGER003 = 1 To 100000
FSeek 1, 66, 1
FDRead STRING004, 13
If (STRING004 == STRING052) Goto LABEL016
If (Ferr(1)) Break
FSeek 1, 50, 1
Next
Print STRING027 + Left(STRING013, 12 - Len(STRING052)) + STRING052
AnsiPos 1, 19
Print Left(STRING013, (79 - Len(StripAtx(STRING028))) / 2) + STRING028 + Left(STRING013, (79 - Len(StripAtx(STRING028))) / 2)
AnsiPos 4 + INTEGER014 + INTEGER023, 5 + INTEGER013
Goto LABEL012
:LABEL016
INTEGER029 = (INTEGER003 - 1) * 129 + 1
FSeek 1, INTEGER029 + 128, 0
:LABEL017
If (Ferr(1)) Goto LABEL018
FRead 1, STRING046, 1
If (Ferr(1)) Goto LABEL018
FSeek 1, -130, 1
FWrite 1, STRING046, 1
FSeek 1, 129, 1
Goto LABEL017
:LABEL018
FSeek 1, -129, 1
For INTEGER003 = 1 To 129
FWrite 1, "", 1
Next
FFlush 1
Goto LABEL003
:LABEL019
Color 15
INTEGER027 = GetX()
INTEGER028 = GetY()
STRING052 = ScrText(INTEGER027, INTEGER028, 12, 0)
STRING052 = Trim(STRING052, Chr(32))
If (Len(STRING052) == 0) Goto LABEL003
FSeek 1, 0, 0
:LABEL020
If (Ferr(1)) Goto LABEL021
FSeek 1, 66, 1
FRead 1, STRING004, 13
If (STRING004 == STRING052) Goto LABEL021
FSeek 1, 50, 1
Goto LABEL020
:LABEL021
FSeek 1, -79, 1
FRead 1, STRING004, 65
STRING004 = Trim(STRING004, Chr(32))
Select Case (Upper(Right(STRING004, 3)))
Case "ZIP"
Shell 1, INTEGER003, STRING058, STRING004 + " -vbn >" + GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.LST"
STRING064 = "Searching ZIP:"
Case "ARJ"
Shell 1, INTEGER003, STRING059, "l " + STRING004 + " >" + GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.LST"
STRING064 = "Processing arc"
End Select
FOpen 3, GetEnv("PCBDRIVE") + GetEnv("PCBDIR") + "\FLIST.LST", 0, 0
Cls
Print "@POFF@"
While (Left(STRING004, 14) <> STRING064) Do
FGet 3, STRING004
If (Ferr(3)) Then
FClose 3
Goto LABEL003
Endif
EndWhile
:LABEL022
If (Ferr(3)) Goto LABEL023
FGet 3, STRING004
PrintLn STRING004
Goto LABEL022
:LABEL023
FClose 3
Wait
Goto LABEL003
:LABEL024
Color 7
STRING053 = ReadLine(PCBDat(), 45)
Cls
FOpen 5, STRING053, 0, 0
:LABEL025
FGet 5, STRING054
If (Ferr(5)) Then
FClose 5
PromptStr 280, STRING004, 1, STRING055 + "Nn", 256
If (Trim(STRING004, Chr(32)) == "") STRING004 = "N"
Goto LABEL013
Endif
STRING055 = STRING055 + Left(STRING054, 1)
STRING055 = STRING055 + Lower(Left(STRING054, 1))
Print "(" + Left(STRING054, 1) + ") "
STRING054 = Right(STRING054, Len(STRING054) - InStr(STRING054, ","))
STRING054 = Right(STRING054, Len(STRING054) - InStr(STRING054, ","))
STRING054 = Right(STRING054, Len(STRING054) - InStr(STRING054, ","))
PrintLn Left(STRING054, InStr(STRING054, ",") - 1)
Goto LABEL025
:LABEL026
INTEGER009 = 0
INTEGER010 = 0
INTEGER011 = 0
FRead 1, STRING001, 66
If (Ferr(1) || (STRING001 == "")) Then
INTEGER030 = 1
Return
Endif
STRING001 = Trim(STRING001, Chr(32))
DATE001 = FileInf(STRING001, 2)
FDRead STRING004, 13
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER011 = 65536 * Asc(STRING001)
INTEGER012 = INTEGER009 + INTEGER010 + INTEGER011
INTEGER009 = 0
INTEGER010 = 0
INTEGER011 = 0
FSeek 1, 1, 1
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER009 = Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER010 = 256 * Asc(STRING001)
FDRead STRING001, 1
If (Asc(STRING001) <> 0) INTEGER011 = 65536 * Asc(STRING001)
INTEGER007 = INTEGER009 + INTEGER010 + INTEGER011
INTEGER006 = INTEGER006 + INTEGER007
FSeek 1, 9, 1
FDRead STRING007, 1
FDRead STRING006, 1
FSeek 1, 32, 1
INTEGER008 = INTEGER007 / 60
INTEGER007 = INTEGER007 - INTEGER008 * 60
Print STRING015 + " │"
If (STRING019 == STRING025) Print STRING018 + STRING029 + Left(STRING013, 2 - Len(String(STRING003))) + String(STRING003) + " "
Print STRING018 + STRING027 + Left(STRING013, 12 - Len(STRING004)) + STRING004 + STRING018
If (STRING020 == STRING025) Print Left(STRING013, 10 - Len(String(INTEGER012))) + STRING030 + String(INTEGER012) + STRING018
If (STRING021 == STRING025) Print STRING031 + String(DATE001) + STRING018
If (STRING022 == STRING025) Print STRING032 + Left(STRING013, 4 - Len(String(INTEGER008))) + String(INTEGER008) + Left(STRING013, 4 - Len(StripAtx(STRING042))) + STRING042 + STRING032 + Left(STRING013, 3 - Len(String(INTEGER007))) + String(INTEGER007) + Left(STRING013, 4 - Len(StripAtx(STRING043))) + STRING043 + STRING018
If (STRING023 == STRING025) Then
If (Asc(STRING007) == 1) Then
Print STRING033 + " " + STRING025
Goto LABEL027
Endif
Print STRING033 + " " + STRING026
:LABEL027
Print STRING018
Endif
If (STRING024 == STRING025) Then
If (Asc(STRING006) == 1) Then
Print STRING034 + " " + STRING025
Goto LABEL028
Endif
Print STRING034 + " " + STRING026
Endif
:LABEL028
AnsiPos 78, 4 + INTEGER003
PrintLn STRING015 + "│"
AnsiPos 1, 5 + INTEGER003
Inc STRING003
Return
:LABEL029
Print STRING015 + " │"
If (STRING019 == STRING025) Print STRING018 + STRING029 + Left(STRING013, 2 - Len(String(STRING003))) + String(STRING003) + " "
Print STRING018 + " "
If (STRING020 == STRING025) Print STRING030 + STRING018 + " 0"
If (STRING021 == STRING025) Print STRING031 + STRING018 + "00-00-00"
If (STRING022 == STRING025) Print STRING032 + STRING018 + " 0" + Left(STRING013, 4 - Len(StripAtx(STRING042))) + STRING042 + STRING032 + " 0" + Left(STRING013, 4 - Len(StripAtx(STRING043))) + STRING043
AnsiPos 78, 4 + INTEGER003
PrintLn STRING015 + "│"
Inc STRING003
If (INTEGER022) Then
AnsiPos 1, 19
Goto LABEL005
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 2 Cls
; 4 ClrEol
; 2 Wait
; 6 Color
; 123 Goto
; 175 Let
; 54 Print
; 18 PrintLn
; 114 If
; 6 FOpen
; 7 FClose
; 35 FGet
; 1 FPut
; 1 Delete
; 4 Gosub
; 3 Return
; 1 PromptStr
; 5 Inc
; 3 Dec
; 2 Shell
; 1 KbdStuff
; 1 WrUNet
; 29 AnsiPos
; 21 FSeek
; 1 FFlush
; 4 FRead
; 2 FWrite
; 1 FDefIn
; 13 FDRead
;
;
; ■ Functions used :
;
; 3 -
; 15 *
; 24 /
; 230 +
; 70 -
; 78 ==
; 12 <>
; 15 <
; 9 <=
; 6 >
; 18 >=
; 53 !
; 21 &&
; 16 ||
; 52 Len(
; 1 Lower()
; 16 Upper()
; 67 Left()
; 7 Right()
; 8 Ferr()
; 14 Chr()
; 20 Asc()
; 4 InStr()
; 9 Trim()
; 2 Month()
; 2 Day()
; 2 Hour()
; 2 Min()
; 2 Sec()
; 1 NoChar()
; 1 YesChar()
; 32 StripAtx()
; 3 Inkey()
; 14 String()
; 1 PCBDat()
; 3 PPEPath()
; 3 PcbNode()
; 2 ReadLine()
; 1 UN_Name()
; 1 UN_City()
; 12 GetEnv()
; 2 Exist()
; 2 LangExt()
; 1 AnsiOn()
; 4 GetX()
; 4 GetY()
; 1 GrafMode()
; 7 FileInf()
; 3 PPEName()
; 5 ScrText()
; 4 FlagCnt()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sd
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 2 While/EndWhile
; 36 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------